{
  "bundles": [
    {
      "@type": "NXBundle",
      "artifactId": "nuxeo-runtime",
      "artifactVersion": "9.10",
      "bundleGroup": {
        "@type": "NXBundleGroup",
        "bundleIds": [
          "org.nuxeo.connect.standalone",
          "org.nuxeo.launcher.commons",
          "org.nuxeo.osgi",
          "org.nuxeo.runtime",
          "org.nuxeo.runtime.datasource",
          "org.nuxeo.runtime.jtajca",
          "org.nuxeo.runtime.kv",
          "org.nuxeo.runtime.management",
          "org.nuxeo.runtime.metrics",
          "org.nuxeo.runtime.migration",
          "org.nuxeo.runtime.mongodb",
          "org.nuxeo.runtime.nuxeo-runtime-deploy",
          "org.nuxeo.runtime.pubsub",
          "org.nuxeo.runtime.redis",
          "org.nuxeo.runtime.reload",
          "org.nuxeo.runtime.stream"
        ],
        "hierarchyPath": "/grp:org.nuxeo.runtime",
        "id": "grp:org.nuxeo.runtime",
        "name": "org.nuxeo.runtime",
        "parentIds": [],
        "readmes": [],
        "version": "9.10"
      },
      "bundleId": "org.nuxeo.runtime",
      "components": [
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.elasticsearch.ElasticSearchComponent--elasticSearchIndex",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.elasticsearch.index.sequence.contrib/Contributions/org.nuxeo.elasticsearch.index.sequence.contrib--elasticSearchIndex",
              "id": "org.nuxeo.elasticsearch.index.sequence.contrib--elasticSearchIndex",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.elasticsearch.ElasticSearchComponent",
                "name": "org.nuxeo.elasticsearch.ElasticSearchComponent",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"elasticSearchIndex\" target=\"org.nuxeo.elasticsearch.ElasticSearchComponent\">\n\n    <elasticSearchIndex name=\"nuxeo-uidgen\" type=\"seqId\">\n\n      <settings>\n        {\n        \"mapping.single_type\": true,\n        \"number_of_shards\" : 1,\n        \"auto_expand_replicas\" : \"0-all\"\n        }\n      </settings>\n\n      <mapping>\n        {\n        \"_source\" : {\"enabled\": false},\n        \"_all\" : {\"enabled\": false},\n        \"enabled\" : false\n        }\n      </mapping>\n\n    </elasticSearchIndex>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.elasticsearch.index.sequence.contrib",
          "name": "org.nuxeo.elasticsearch.index.sequence.contrib",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.elasticsearch.index.sequence.contrib\">\n  <require>org.nuxeo.elasticsearch.ElasticSearchComponent</require>\n\n  <extension target=\"org.nuxeo.elasticsearch.ElasticSearchComponent\" point=\"elasticSearchIndex\">\n\n    <elasticSearchIndex name=\"nuxeo-uidgen\" type=\"seqId\">\n\n      <settings>\n        {\n        \"mapping.single_type\": true,\n        \"number_of_shards\" : 1,\n        \"auto_expand_replicas\" : \"0-all\"\n        }\n      </settings>\n\n      <mapping>\n        {\n        \"_source\" : {\"enabled\": false},\n        \"_all\" : {\"enabled\": false},\n        \"enabled\" : false\n        }\n      </mapping>\n\n    </elasticSearchIndex>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/Users/arnaud/Nuxeo/distrib/nuxeo-server-tomcat-9.10/nxserver/config/elasticsearch-sequence-index-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentation": "\n  Login modules used on Tomcat\n  @author Bogdan Stefanescu (bs@nuxeo.com)\n  \n",
          "documentationHtml": "<p>\nLogin modules used on Tomcat\n</p><p></p>",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.runtime.LoginComponent--domains",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.platform.login.LoginConfig/Contributions/org.nuxeo.ecm.platform.login.LoginConfig--domains",
              "id": "org.nuxeo.ecm.platform.login.LoginConfig--domains",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.runtime.LoginComponent",
                "name": "org.nuxeo.runtime.LoginComponent",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"domains\" target=\"org.nuxeo.runtime.LoginComponent\">\n\n\t  <domain name=\"nuxeo-system-login\">\n\t    <login-module code=\"org.nuxeo.runtime.api.login.SystemLoginModule\" flag=\"required\"/>\n      <login-module code=\"org.nuxeo.ecm.core.api.local.ClientLoginModule\" flag=\"required\">\n        <option name=\"password-stacking\">true</option>\n\t\t\t  <option name=\"multi-threaded\">true</option>\n  \t  </login-module>\n\t  </domain>\n\n    <domain name=\"nuxeo-client-login\">\n      <login-module code=\"org.nuxeo.ecm.platform.login.NuxeoLoginModule\" flag=\"required\">\n        <option name=\"principalClassName\">org.nuxeo.ecm.platform.login.NuxeoPrincipal</option>\n        <option name=\"useUserIdentificationInfoCB\">true</option>\n      </login-module>\n      <login-module code=\"org.nuxeo.ecm.core.api.local.ClientLoginModule\" flag=\"required\">\n        <option name=\"password-stacking\">true</option>\n        <option name=\"restore-login-identity\">true</option>\n        <option name=\"multi-threaded\">true</option>\n      </login-module>\n\t  </domain>\n\n\n  \t<domain name=\"nuxeo-webengine\">\n\t    <login-module code=\"org.nuxeo.ecm.platform.login.NuxeoLoginModule\" flag=\"required\">\n              <option name=\"principalClassName\">org.nuxeo.ecm.platform.login.NuxeoPrincipal</option>\n              <option name=\"useUserIdentificationInfoCB\">true</option>\n      </login-module>\n      <!--login-module code=\"org.nuxeo.ecm.core.api.local.ClientLoginModule\" flag=\"required\">\n        <option name=\"password-stacking\">true</option>\n        <option name=\"multi-threaded\">true</option>\n      </login-module-->\n    </domain>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.platform.login.LoginConfig",
          "name": "org.nuxeo.ecm.platform.login.LoginConfig",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n\n<component name=\"org.nuxeo.ecm.platform.login.LoginConfig\" version=\"1.0\">\n  <documentation>\n  Login modules used on Tomcat\n  @author Bogdan Stefanescu (bs@nuxeo.com)\n  </documentation>\n\n\n  <extension target=\"org.nuxeo.runtime.LoginComponent\" point=\"domains\">\n\n\t  <domain name=\"nuxeo-system-login\">\n\t    <login-module code=\"org.nuxeo.runtime.api.login.SystemLoginModule\" flag=\"required\"/>\n      <login-module code=\"org.nuxeo.ecm.core.api.local.ClientLoginModule\" flag=\"required\">\n        <option name=\"password-stacking\">true</option>\n\t\t\t  <option name=\"multi-threaded\">true</option>\n  \t  </login-module>\n\t  </domain>\n\n    <domain name=\"nuxeo-client-login\">\n      <login-module code=\"org.nuxeo.ecm.platform.login.NuxeoLoginModule\"\n          flag=\"required\">\n        <option name=\"principalClassName\">org.nuxeo.ecm.platform.login.NuxeoPrincipal</option>\n        <option name=\"useUserIdentificationInfoCB\">true</option>\n      </login-module>\n      <login-module code=\"org.nuxeo.ecm.core.api.local.ClientLoginModule\" flag=\"required\">\n        <option name=\"password-stacking\">true</option>\n        <option name=\"restore-login-identity\">true</option>\n        <option name=\"multi-threaded\">true</option>\n      </login-module>\n\t  </domain>\n\n\n  \t<domain name=\"nuxeo-webengine\">\n\t    <login-module code = \"org.nuxeo.ecm.platform.login.NuxeoLoginModule\"\n             flag = \"required\">\n              <option name=\"principalClassName\">org.nuxeo.ecm.platform.login.NuxeoPrincipal</option>\n              <option name=\"useUserIdentificationInfoCB\">true</option>\n      </login-module>\n      <!--login-module code=\"org.nuxeo.ecm.core.api.local.ClientLoginModule\" flag=\"required\">\n        <option name=\"password-stacking\">true</option>\n        <option name=\"multi-threaded\">true</option>\n      </login-module-->\n    </domain>\n\n  </extension>\n\n\n</component>\n\n",
          "xmlFileName": "/Users/arnaud/Nuxeo/distrib/nuxeo-server-tomcat-9.10/nxserver/config/login-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.convert.ooomanager.OOoManagerComponent--oooManagerConfig",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.platform.convert.ooomanager.config.default/Contributions/org.nuxeo.ecm.platform.convert.ooomanager.config.default--oooManagerConfig",
              "id": "org.nuxeo.ecm.platform.convert.ooomanager.config.default--oooManagerConfig",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.convert.ooomanager.OOoManagerComponent",
                "name": "org.nuxeo.ecm.platform.convert.ooomanager.OOoManagerComponent",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"oooManagerConfig\" target=\"org.nuxeo.ecm.platform.convert.ooomanager.OOoManagerComponent\">\n<!-- configuration example -->\n    <OOoManager>\n\n      <!-- Define the different ports to use with Socket connection. -->\n      <!-- Default configuration uses the two following ports: -->\n      <portNumbers>\n        <portNumber>2003</portNumber>\n      </portNumbers>\n\n      <!-- Define the different pipe names to use with Pipe connection. -->\n<!--  <pipeNames>\n        <pipeName>pipe1</pipeName>\n        <pipeName>pipe2</pipeName>\n        <pipeName>pipe3</pipeName>\n      </pipeNames>\n-->\n    </OOoManager>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.platform.convert.ooomanager.config.default",
          "name": "org.nuxeo.ecm.platform.convert.ooomanager.config.default",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.platform.convert.ooomanager.config.default\">\n  <require>org.nuxeo.ecm.platform.convert.ooomanager.OOoManagerComponent</require>\n\n  <extension\n    target=\"org.nuxeo.ecm.platform.convert.ooomanager.OOoManagerComponent\"\n    point=\"oooManagerConfig\">\n<!-- configuration example -->\n    <OOoManager>\n\n      <!-- Define the different ports to use with Socket connection. -->\n      <!-- Default configuration uses the two following ports: -->\n      <portNumbers>\n        <portNumber>2003</portNumber>\n      </portNumbers>\n\n      <!-- Define the different pipe names to use with Pipe connection. -->\n<!--  <pipeNames>\n        <pipeName>pipe1</pipeName>\n        <pipeName>pipe2</pipeName>\n        <pipeName>pipe3</pipeName>\n      </pipeNames>\n-->\n    </OOoManager>\n  </extension>\n</component>\n\n",
          "xmlFileName": "/Users/arnaud/Nuxeo/distrib/nuxeo-server-tomcat-9.10/nxserver/config/ooo-manager-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.elasticsearch.ElasticSearchComponent--elasticSearchIndex",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.elasticsearch.defaultConfig/Contributions/org.nuxeo.elasticsearch.defaultConfig--elasticSearchIndex",
              "id": "org.nuxeo.elasticsearch.defaultConfig--elasticSearchIndex",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.elasticsearch.ElasticSearchComponent",
                "name": "org.nuxeo.elasticsearch.ElasticSearchComponent",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"elasticSearchIndex\" target=\"org.nuxeo.elasticsearch.ElasticSearchComponent\">\n    <elasticSearchIndex name=\"nuxeo\" repository=\"default\" type=\"doc\">\n      <fetchFromSource>\n        <include>ecm:*</include>\n        <include>dc:*</include>\n        <exclude>ecm:binarytext</exclude>\n      </fetchFromSource>\n      <settings file=\"elasticsearch-doc-settings.json\"/>\n      <mapping file=\"elasticsearch-doc-mapping.json\"/>\n    </elasticSearchIndex>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.elasticsearch.ElasticSearchComponent--elasticSearchClient",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.elasticsearch.defaultConfig/Contributions/org.nuxeo.elasticsearch.defaultConfig--elasticSearchClient",
              "id": "org.nuxeo.elasticsearch.defaultConfig--elasticSearchClient",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.elasticsearch.ElasticSearchComponent",
                "name": "org.nuxeo.elasticsearch.ElasticSearchComponent",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"elasticSearchClient\" target=\"org.nuxeo.elasticsearch.ElasticSearchComponent\">\n  <elasticSearchClient class=\"org.nuxeo.elasticsearch.client.ESTransportClientFactory\">\n    <option name=\"addressList\"/>\n    <option name=\"clusterName\">nuxeoCluster</option>\n    <option name=\"clientTransportSniff\">false</option>\n    <option name=\"clientTransportIgnoreClusterName\">false</option>\n    <option name=\"clientTransportPingTimeout\">5s</option>\n    <option name=\"clientTransportNodesSamplerInterval\">5s</option>\n  </elasticSearchClient>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.elasticsearch.ElasticSearchComponent--elasticSearchEmbeddedServer",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.elasticsearch.defaultConfig/Contributions/org.nuxeo.elasticsearch.defaultConfig--elasticSearchEmbeddedServer",
              "id": "org.nuxeo.elasticsearch.defaultConfig--elasticSearchEmbeddedServer",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.elasticsearch.ElasticSearchComponent",
                "name": "org.nuxeo.elasticsearch.ElasticSearchComponent",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"elasticSearchEmbeddedServer\" target=\"org.nuxeo.elasticsearch.ElasticSearchComponent\">\n    <elasticSearchEmbeddedServer clusterName=\"nuxeoCluster\" httpEnabled=\"true\" networkHost=\"127.0.0.1\" nodeName=\"nuxeoNode\" pathData=\"/Users/arnaud/Nuxeo/distrib/nuxeo-server-tomcat-9.10/nxserver/data/elasticsearch\" pathLogs=\"/Users/arnaud/Nuxeo/distrib/nuxeo-server-tomcat-9.10/log/elasticsearch\"/>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.elasticsearch.defaultConfig",
          "name": "org.nuxeo.elasticsearch.defaultConfig",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.elasticsearch.defaultConfig\">\n  <require>org.nuxeo.elasticsearch.ElasticSearchComponent</require>\n\n  <extension target=\"org.nuxeo.elasticsearch.ElasticSearchComponent\" point=\"elasticSearchEmbeddedServer\">\n    <elasticSearchEmbeddedServer clusterName=\"nuxeoCluster\" nodeName=\"nuxeoNode\"\n      pathData=\"/Users/arnaud/Nuxeo/distrib/nuxeo-server-tomcat-9.10/nxserver/data/elasticsearch\" pathLogs=\"/Users/arnaud/Nuxeo/distrib/nuxeo-server-tomcat-9.10/log/elasticsearch\"\n      httpEnabled=\"true\" networkHost=\"127.0.0.1\" />\n  </extension>\n\n  <extension target=\"org.nuxeo.elasticsearch.ElasticSearchComponent\" point=\"elasticSearchClient\">\n  <elasticSearchClient class=\"org.nuxeo.elasticsearch.client.ESTransportClientFactory\">\n    <option name=\"addressList\"></option>\n    <option name=\"clusterName\">nuxeoCluster</option>\n    <option name=\"clientTransportSniff\">false</option>\n    <option name=\"clientTransportIgnoreClusterName\">false</option>\n    <option name=\"clientTransportPingTimeout\">5s</option>\n    <option name=\"clientTransportNodesSamplerInterval\">5s</option>\n  </elasticSearchClient>\n  </extension>\n\n  <extension target=\"org.nuxeo.elasticsearch.ElasticSearchComponent\"\n    point=\"elasticSearchIndex\">\n    <elasticSearchIndex name=\"nuxeo\" type=\"doc\" repository=\"default\">\n      <fetchFromSource>\n        <include>ecm:*</include>\n        <include>dc:*</include>\n        <exclude>ecm:binarytext</exclude>\n      </fetchFromSource>\n      <settings file=\"elasticsearch-doc-settings.json\" />\n      <mapping file=\"elasticsearch-doc-mapping.json\" />\n    </elasticSearchIndex>\n  </extension>\n\n</component>\n",
          "xmlFileName": "/Users/arnaud/Nuxeo/distrib/nuxeo-server-tomcat-9.10/nxserver/config/elasticsearch-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.query.api.PageProviderService--replacers",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.platform.query.api.PageProviderservice.replacers.defaultConfig/Contributions/org.nuxeo.ecm.platform.query.api.PageProviderservice.replacers.defaultConfig--replacers",
              "id": "org.nuxeo.ecm.platform.query.api.PageProviderservice.replacers.defaultConfig--replacers",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.query.api.PageProviderService",
                "name": "org.nuxeo.ecm.platform.query.api.PageProviderService",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"replacers\" target=\"org.nuxeo.ecm.platform.query.api.PageProviderService\">\n\n    <replacer enabled=\"true\" withClass=\"org.nuxeo.elasticsearch.provider.ElasticSearchNxqlPageProvider\">\n      <provider>default_search</provider>\n      <provider>default_document_suggestion</provider>\n      <provider>DEFAULT_DOCUMENT_SUGGESTION</provider>\n      <provider>advanced_document_content</provider>\n      <provider>domain_documents</provider>\n      <provider>expired_search</provider>\n    </replacer>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.platform.query.api.PageProviderservice.replacers.defaultConfig",
          "name": "org.nuxeo.ecm.platform.query.api.PageProviderservice.replacers.defaultConfig",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.platform.query.api.PageProviderservice.replacers.defaultConfig\">\n\n  <extension target=\"org.nuxeo.ecm.platform.query.api.PageProviderService\" point=\"replacers\">\n\n    <replacer withClass=\"org.nuxeo.elasticsearch.provider.ElasticSearchNxqlPageProvider\"\n      enabled=\"${elasticsearch.enabled:=true}\">\n      <provider>default_search</provider>\n      <provider>default_document_suggestion</provider>\n      <provider>DEFAULT_DOCUMENT_SUGGESTION</provider>\n      <provider>advanced_document_content</provider>\n      <provider>domain_documents</provider>\n      <provider>expired_search</provider>\n    </replacer>\n\n  </extension>\n</component>\n",
          "xmlFileName": "/Users/arnaud/Nuxeo/distrib/nuxeo-server-tomcat-9.10/nxserver/config/elasticsearch-classreplacer-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.runtime.trackers.files.FileEventTracker",
          "documentationHtml": "",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.runtime.trackers.files",
              "descriptors": [
                "org.nuxeo.runtime.trackers.files.FileEventTracker.EnableThreadsTracking"
              ],
              "documentationHtml": "",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.trackers.files/ExtensionPoints/org.nuxeo.runtime.trackers.files--configs",
              "id": "org.nuxeo.runtime.trackers.files--configs",
              "label": "configs (org.nuxeo.runtime.trackers.files)",
              "name": "configs",
              "version": "9.10"
            }
          ],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.trackers.files",
          "name": "org.nuxeo.runtime.trackers.files",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.runtime.trackers.files\">\n\n\t<require>org.nuxeo.runtime.EventService</require>\n\n\t<implementation class=\"org.nuxeo.runtime.trackers.files.FileEventTracker\" />\n\n\t<extension-point name=\"configs\">\n\t\t<object class=\"org.nuxeo.runtime.trackers.files.FileEventTracker$EnableThreadsTracking\" />\n\t</extension-point>\n\n</component>\n\n",
          "xmlFileName": "/OSGI-INF/FileEventTracker.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.elasticsearch.ElasticSearchComponent--elasticSearchIndex",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.elasticsearch.index.audit.contrib/Contributions/org.nuxeo.elasticsearch.index.audit.contrib--elasticSearchIndex",
              "id": "org.nuxeo.elasticsearch.index.audit.contrib--elasticSearchIndex",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.elasticsearch.ElasticSearchComponent",
                "name": "org.nuxeo.elasticsearch.ElasticSearchComponent",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"elasticSearchIndex\" target=\"org.nuxeo.elasticsearch.ElasticSearchComponent\">\n\n    <elasticSearchIndex name=\"nuxeo-audit\" type=\"entry\">\n      <settings file=\"elasticsearch-audit-settings.json\"/>\n      <mapping file=\"elasticsearch-audit-mapping.json\"/>\n    </elasticSearchIndex>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.elasticsearch.index.audit.contrib",
          "name": "org.nuxeo.elasticsearch.index.audit.contrib",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.elasticsearch.index.audit.contrib\">\n  <require>org.nuxeo.elasticsearch.ElasticSearchComponent</require>\n\n  <extension target=\"org.nuxeo.elasticsearch.ElasticSearchComponent\"\n\t     point=\"elasticSearchIndex\">\n\n    <elasticSearchIndex name=\"nuxeo-audit\" type=\"entry\" >\n      <settings file=\"elasticsearch-audit-settings.json\" />\n      <mapping file=\"elasticsearch-audit-mapping.json\" />\n    </elasticSearchIndex>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/Users/arnaud/Nuxeo/distrib/nuxeo-server-tomcat-9.10/nxserver/config/elasticsearch-audit-index-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.transientstore.TransientStorageComponent--store",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.core.transient.store.config/Contributions/org.nuxeo.ecm.core.transient.store.config--store",
              "id": "org.nuxeo.ecm.core.transient.store.config--store",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.transientstore.TransientStorageComponent",
                "name": "org.nuxeo.ecm.core.transientstore.TransientStorageComponent",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"store\" target=\"org.nuxeo.ecm.core.transientstore.TransientStorageComponent\">\n\n    <store class=\"org.nuxeo.ecm.core.transientstore.SimpleTransientStore\" name=\"default\">\n      <targetMaxSizeMB>-1</targetMaxSizeMB>\n      <absoluteMaxSizeMB>-1</absoluteMaxSizeMB>\n      <firstLevelTTL>240</firstLevelTTL>\n      <secondLevelTTL>10</secondLevelTTL>\n      <minimalRetention>10</minimalRetention>\n    </store>\n\n    <store class=\"org.nuxeo.ecm.core.transientstore.SimpleTransientStore\" name=\"authorizationRequestStore\">\n      <targetMaxSizeMB>-1</targetMaxSizeMB>\n      <absoluteMaxSizeMB>-1</absoluteMaxSizeMB>\n      <firstLevelTTL>10</firstLevelTTL>\n      <secondLevelTTL>0</secondLevelTTL>\n    </store>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.core.transient.store.config",
          "name": "org.nuxeo.ecm.core.transient.store.config",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.core.transient.store.config\">\n\n  \n  <extension target=\"org.nuxeo.ecm.core.transientstore.TransientStorageComponent\"\n    point=\"store\">\n\n    <store name=\"default\" class=\"org.nuxeo.ecm.core.transientstore.SimpleTransientStore\">\n      <targetMaxSizeMB>-1</targetMaxSizeMB>\n      <absoluteMaxSizeMB>-1</absoluteMaxSizeMB>\n      <firstLevelTTL>240</firstLevelTTL>\n      <secondLevelTTL>10</secondLevelTTL>\n      <minimalRetention>10</minimalRetention>\n    </store>\n\n    <store name=\"authorizationRequestStore\" class=\"org.nuxeo.ecm.core.transientstore.SimpleTransientStore\">\n      <targetMaxSizeMB>-1</targetMaxSizeMB>\n      <absoluteMaxSizeMB>-1</absoluteMaxSizeMB>\n      <firstLevelTTL>10</firstLevelTTL>\n      <secondLevelTTL>0</secondLevelTTL>\n    </store>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/Users/arnaud/Nuxeo/distrib/nuxeo-server-tomcat-9.10/nxserver/config/transient-store-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.directory.GenericDirectory--directories",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.directory.storage/Contributions/org.nuxeo.ecm.directory.storage--directories",
              "id": "org.nuxeo.ecm.directory.storage--directories",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.directory.GenericDirectory",
                "name": "org.nuxeo.ecm.directory.GenericDirectory",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"directories\" target=\"org.nuxeo.ecm.directory.GenericDirectory\">\n\n    <directory extends=\"template-user\" name=\"userDirectory\">\n\n      <schema>user</schema>\n\n      <types>\n        <type>system</type>\n      </types>\n\n      <idField>username</idField>\n      <passwordField>password</passwordField>\n      <passwordHashAlgorithm>SSHA</passwordHashAlgorithm>\n      <autoincrementIdField>false</autoincrementIdField>\n      <dataFile>users.csv</dataFile>\n      <createTablePolicy>on_missing_columns</createTablePolicy>\n      <querySizeLimit>50</querySizeLimit>\n\n      <!-- comment <cache* /> tags to disable the cache -->\n      <cacheEntryName>user-entry-cache</cacheEntryName>\n      <cacheEntryWithoutReferencesName>user-entry-cache-without-references</cacheEntryWithoutReferencesName>\n\n      <references>\n        <inverseReference directory=\"groupDirectory\" dualReferenceField=\"members\" field=\"groups\"/>\n      </references>\n\n    </directory>\n\n    <directory extends=\"template-group\" name=\"groupDirectory\">\n\n      <schema>group</schema>\n      <types>\n        <type>system</type>\n      </types>\n      <idField>groupname</idField>\n      <dataFile>groups.csv</dataFile>\n      <createTablePolicy>on_missing_columns</createTablePolicy>\n      <autoincrementIdField>false</autoincrementIdField>\n\n      <!-- comment <cache* /> tags to disable the cache -->\n      <cacheEntryName>group-entry-cache</cacheEntryName>\n      <cacheEntryWithoutReferencesName>group-entry-cache-without-references</cacheEntryWithoutReferencesName>\n\n      <references>\n        <reference dataFile=\"user2group.csv\" directory=\"userDirectory\" field=\"members\" name=\"user2group\" source=\"groupId\" target=\"userId\"/>\n        <!-- Warning ! From Nuxeo 5.3.1, a wrong setting has been fixed. See\n        http://jira.nuxeo.org/browse/NXP-4401 . Nuxeo upgrades would need a fix in the\n        database (inverting parentGroupId and childGroupId in the group2group)  -->\n        <reference directory=\"groupDirectory\" field=\"subGroups\" name=\"group2group\" source=\"parentGroupId\" target=\"childGroupId\"/>\n        <inverseReference directory=\"groupDirectory\" dualReferenceField=\"subGroups\" field=\"parentGroups\"/>\n      </references>\n\n    </directory>\n\n    <directory extends=\"template-directory\" name=\"digestauth\">\n      <schema>digestauth</schema>\n      <idField>username</idField>\n      <passwordField>password</passwordField>\n      <types>\n        <type>system</type>\n      </types>\n      <cacheEntryName>digestauth-entry-cache</cacheEntryName>\n      <cacheEntryWithoutReferencesName>digestauth-entry-cache-without-references</cacheEntryWithoutReferencesName>\n    </directory>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.directory.storage",
          "name": "org.nuxeo.ecm.directory.storage",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n\n<component name=\"org.nuxeo.ecm.directory.storage\">\n\n  <require>org.nuxeo.ecm.platform.digestauth.config</require>\n\n  <extension target=\"org.nuxeo.ecm.directory.GenericDirectory\" point=\"directories\">\n\n    <directory name=\"userDirectory\" extends=\"template-user\">\n\n      <schema>user</schema>\n\n      <types>\n        <type>system</type>\n      </types>\n\n      <idField>username</idField>\n      <passwordField>password</passwordField>\n      <passwordHashAlgorithm>SSHA</passwordHashAlgorithm>\n      <autoincrementIdField>false</autoincrementIdField>\n      <dataFile>users.csv</dataFile>\n      <createTablePolicy>on_missing_columns</createTablePolicy>\n      <querySizeLimit>50</querySizeLimit>\n\n      <!-- comment <cache* /> tags to disable the cache -->\n      <cacheEntryName>user-entry-cache</cacheEntryName>\n      <cacheEntryWithoutReferencesName>user-entry-cache-without-references</cacheEntryWithoutReferencesName>\n\n      <references>\n        <inverseReference field=\"groups\" directory=\"groupDirectory\"\n                          dualReferenceField=\"members\"/>\n      </references>\n\n    </directory>\n\n    <directory name=\"groupDirectory\" extends=\"template-group\">\n\n      <schema>group</schema>\n      <types>\n        <type>system</type>\n      </types>\n      <idField>groupname</idField>\n      <dataFile>groups.csv</dataFile>\n      <createTablePolicy>on_missing_columns</createTablePolicy>\n      <autoincrementIdField>false</autoincrementIdField>\n\n      <!-- comment <cache* /> tags to disable the cache -->\n      <cacheEntryName>group-entry-cache</cacheEntryName>\n      <cacheEntryWithoutReferencesName>group-entry-cache-without-references</cacheEntryWithoutReferencesName>\n\n      <references>\n        <reference field=\"members\" directory=\"userDirectory\"\n                   name=\"user2group\" source=\"groupId\" target=\"userId\"\n                   dataFile=\"user2group.csv\"/>\n        <!-- Warning ! From Nuxeo 5.3.1, a wrong setting has been fixed. See\n        http://jira.nuxeo.org/browse/NXP-4401 . Nuxeo upgrades would need a fix in the\n        database (inverting parentGroupId and childGroupId in the group2group)  -->\n        <reference field=\"subGroups\" directory=\"groupDirectory\"\n                   name=\"group2group\" source=\"parentGroupId\"\n                   target=\"childGroupId\"/>\n        <inverseReference field=\"parentGroups\" directory=\"groupDirectory\"\n                          dualReferenceField=\"subGroups\"/>\n      </references>\n\n    </directory>\n\n    <directory name=\"digestauth\" extends=\"template-directory\">\n      <schema>digestauth</schema>\n      <idField>username</idField>\n      <passwordField>password</passwordField>\n      <types>\n        <type>system</type>\n      </types>\n      <cacheEntryName>digestauth-entry-cache</cacheEntryName>\n      <cacheEntryWithoutReferencesName>digestauth-entry-cache-without-references</cacheEntryWithoutReferencesName>\n    </directory>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/Users/arnaud/Nuxeo/distrib/nuxeo-server-tomcat-9.10/nxserver/config/default-directories-bundle.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.runtime.datasource--datasources",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.datasource.server.contrib/Contributions/org.nuxeo.runtime.datasource.server.contrib--datasources",
              "id": "org.nuxeo.runtime.datasource.server.contrib--datasources",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.runtime.datasource",
                "name": "org.nuxeo.runtime.datasource",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"datasources\" target=\"org.nuxeo.runtime.datasource\">\n    <datasource accessToUnderlyingConnectionAllowed=\"true\" activeTimeoutMinutes=\"5\" blockingTimeoutMillis=\"1000\" driverClassName=\"org.h2.Driver\" idleTimeoutMinutes=\"5\" maxPoolSize=\"100\" minPoolSize=\"5\" name=\"jdbc/nuxeo\" password=\"********\" sqlExceptionSorter=\"org.nuxeo.runtime.datasource.DatasourceExceptionSorter\" url=\"jdbc:h2:/Users/arnaud/Nuxeo/distrib/nuxeo-server-tomcat-9.10/nxserver/data/h2/nuxeo;DB_CLOSE_ON_EXIT=false\" username=\"sa\" validationQuery=\"\"/>\n    <link global=\"jdbc/nuxeo\" name=\"jdbc/NuxeoDS\" type=\"javax.sql.DataSource\"/>\n    <link global=\"jdbc/nuxeo\" name=\"jdbc/nxsqldirectory\" type=\"javax.sql.DataSource\"/>\n    <link global=\"jdbc/nuxeo\" name=\"jdbc/nxrelations-default-jena\" type=\"javax.sql.DataSource\"/>\n    <link global=\"jdbc/nuxeo\" name=\"jdbc/comment-relations\" type=\"javax.sql.DataSource\"/>\n    <link global=\"jdbc/nuxeo\" name=\"jdbc/nxaudit-logs\" type=\"javax.sql.DataSource\"/>\n    <link global=\"jdbc/nuxeo\" name=\"jdbc/nxjbpm\" type=\"javax.sql.DataSource\"/>\n    <link global=\"jdbc/nuxeo\" name=\"jdbc/placeful_service_ds\" type=\"javax.sql.DataSource\"/>\n    <link global=\"jdbc/nuxeo\" name=\"jdbc/nxwebwidgets\" type=\"javax.sql.DataSource\"/>\n    <link global=\"jdbc/nuxeo\" name=\"jdbc/nxuidsequencer\" type=\"javax.sql.DataSource\"/>\n    <link global=\"jdbc/nuxeo\" name=\"jdbc/repository_default\" type=\"javax.sql.DataSource\"/>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.datasource.server.contrib",
          "name": "org.nuxeo.runtime.datasource.server.contrib",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.runtime.datasource.server.contrib\">\n\n  <extension target=\"org.nuxeo.runtime.datasource\" point=\"datasources\">\n    <datasource name=\"jdbc/nuxeo\" driverClassName=\"org.h2.Driver\"\n      url=\"jdbc:h2:${nuxeo.data.dir}/h2/nuxeo;DB_CLOSE_ON_EXIT=false\" username=\"sa\" password=\"********\"\n      maxPoolSize=\"100\" \n      minPoolSize=\"5\"\n      blockingTimeoutMillis=\"1000\"\n      idleTimeoutMinutes=\"5\"\n      activeTimeoutMinutes=\"5\"\n      sqlExceptionSorter=\"org.nuxeo.runtime.datasource.DatasourceExceptionSorter\"\n      validationQuery=\"\"\n      accessToUnderlyingConnectionAllowed=\"true\" />\n    <link name=\"jdbc/NuxeoDS\" global=\"jdbc/nuxeo\" type=\"javax.sql.DataSource\" />\n    <link name=\"jdbc/nxsqldirectory\" global=\"jdbc/nuxeo\" type=\"javax.sql.DataSource\" />\n    <link name=\"jdbc/nxrelations-default-jena\" global=\"jdbc/nuxeo\" type=\"javax.sql.DataSource\" />\n    <link name=\"jdbc/comment-relations\" global=\"jdbc/nuxeo\" type=\"javax.sql.DataSource\" />\n    <link name=\"jdbc/nxaudit-logs\" global=\"jdbc/nuxeo\" type=\"javax.sql.DataSource\" />\n    <link name=\"jdbc/nxjbpm\" global=\"jdbc/nuxeo\" type=\"javax.sql.DataSource\" />\n    <link name=\"jdbc/placeful_service_ds\" global=\"jdbc/nuxeo\" type=\"javax.sql.DataSource\" />\n    <link name=\"jdbc/nxwebwidgets\" global=\"jdbc/nuxeo\" type=\"javax.sql.DataSource\" />\n    <link name=\"jdbc/nxuidsequencer\" global=\"jdbc/nuxeo\" type=\"javax.sql.DataSource\" />\n    <link name=\"jdbc/repository_default\" global=\"jdbc/nuxeo\" type=\"javax.sql.DataSource\" />\n  </extension>\n</component>\n",
          "xmlFileName": "/Users/arnaud/Nuxeo/distrib/nuxeo-server-tomcat-9.10/nxserver/config/datasources-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.cache.CacheService--caches",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.core.cache.config/Contributions/org.nuxeo.ecm.core.cache.config--caches",
              "id": "org.nuxeo.ecm.core.cache.config--caches",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.cache.CacheService",
                "name": "org.nuxeo.ecm.core.cache.CacheService",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"caches\" target=\"org.nuxeo.ecm.core.cache.CacheService\">\n    <cache name=\"default-cache\">\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"maxSize\">100</option>\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"user-entry-cache\">\n      <option name=\"maxSize\">100</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"user-entry-cache-without-references\">\n      <option name=\"maxSize\">100</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"group-entry-cache\">\n      <option name=\"maxSize\">100</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"group-entry-cache-without-references\">\n      <option name=\"maxSize\">100</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"digestauth-entry-cache\">\n      <option name=\"maxSize\">100</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"digestauth-entry-cache-without-references\">\n      <option name=\"maxSize\">100</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"ldap-user-entry-cache\">\n      <option name=\"maxSize\">100</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"ldap-user-entry-cache-without-references\">\n      <option name=\"maxSize\">100</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"ldap-group-entry-cache\">\n      <option name=\"maxSize\">100</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"ldap-group-entry-cache-without-references\">\n      <option name=\"maxSize\">100</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.core.cache.config",
          "name": "org.nuxeo.ecm.core.cache.config",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.core.cache.config\">\n\n  <extension target=\"org.nuxeo.ecm.core.cache.CacheService\"\n    point=\"caches\">\n    <cache name=\"default-cache\">\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"maxSize\">100</option>\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"user-entry-cache\">\n      <option name=\"maxSize\">100</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"user-entry-cache-without-references\">\n      <option name=\"maxSize\">100</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"group-entry-cache\">\n      <option name=\"maxSize\">100</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"group-entry-cache-without-references\">\n      <option name=\"maxSize\">100</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"digestauth-entry-cache\">\n      <option name=\"maxSize\">100</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"digestauth-entry-cache-without-references\">\n      <option name=\"maxSize\">100</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"ldap-user-entry-cache\">\n      <option name=\"maxSize\">100</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"ldap-user-entry-cache-without-references\">\n      <option name=\"maxSize\">100</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"ldap-group-entry-cache\">\n      <option name=\"maxSize\">100</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"ldap-group-entry-cache-without-references\">\n      <option name=\"maxSize\">100</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/Users/arnaud/Nuxeo/distrib/nuxeo-server-tomcat-9.10/nxserver/config/cache-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.runtime.stream.service--streamProcessor",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.stream.defaultConfig/Contributions/org.nuxeo.stream.defaultConfig--streamProcessor",
              "id": "org.nuxeo.stream.defaultConfig--streamProcessor",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.runtime.stream.service",
                "name": "org.nuxeo.runtime.stream.service",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"streamProcessor\" target=\"org.nuxeo.runtime.stream.service\">\n    <streamProcessor class=\"org.nuxeo.ecm.platform.audit.impl.StreamAuditWriter\" defaultConcurrency=\"1\" defaultPartitions=\"1\" logConfig=\"audit\" name=\"auditLogWriter\">\n      <option name=\"batchSize\">25</option>\n      <option name=\"batchTimeThresholdMs\">500</option>\n    </streamProcessor>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.runtime.stream.service--logConfig",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.stream.defaultConfig/Contributions/org.nuxeo.stream.defaultConfig--logConfig",
              "id": "org.nuxeo.stream.defaultConfig--logConfig",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.runtime.stream.service",
                "name": "org.nuxeo.runtime.stream.service",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"logConfig\" target=\"org.nuxeo.runtime.stream.service\">\n     <logConfig name=\"audit\" type=\"chronicle\">\n       <option name=\"retention\">4d</option>\n     </logConfig>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.event.EventServiceComponent--listener",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.stream.defaultConfig/Contributions/org.nuxeo.stream.defaultConfig--listener",
              "id": "org.nuxeo.stream.defaultConfig--listener",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.event.EventServiceComponent",
                "name": "org.nuxeo.ecm.core.event.EventServiceComponent",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"listener\" target=\"org.nuxeo.ecm.core.event.EventServiceComponent\">\n    <listener async=\"false\" class=\"org.nuxeo.ecm.platform.audit.listener.StreamAuditEventListener\" name=\"auditLoggerListener\" postCommit=\"false\" priority=\"500\"/>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.stream.defaultConfig",
          "name": "org.nuxeo.stream.defaultConfig",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.stream.defaultConfig\">\n  <require>org.nuxeo.runtime.stream.service</require>\n  <extension target=\"org.nuxeo.runtime.stream.service\" point=\"logConfig\">\n        <logConfig name=\"default\" type=\"chronicle\">\n        <option name=\"retention\">4d</option>\n      </logConfig>\n  </extension>\n  <require>org.nuxeo.ecm.platform.audit.service.NXAuditEventsService</require>\n  <extension target=\"org.nuxeo.ecm.core.event.EventServiceComponent\" point=\"listener\">\n    <listener name=\"auditLoggerListener\" async=\"false\" postCommit=\"false\" priority=\"500\"\n      class=\"org.nuxeo.ecm.platform.audit.listener.StreamAuditEventListener\" />\n  </extension>\n  <extension target=\"org.nuxeo.runtime.stream.service\" point=\"logConfig\">\n     <logConfig name=\"audit\" type=\"chronicle\">\n       <option name=\"retention\">4d</option>\n     </logConfig>\n  </extension>\n  <extension target=\"org.nuxeo.runtime.stream.service\" point=\"streamProcessor\">\n    <streamProcessor name=\"auditLogWriter\" logConfig=\"audit\" defaultConcurrency=\"1\" defaultPartitions=\"1\"\n      class=\"org.nuxeo.ecm.platform.audit.impl.StreamAuditWriter\">\n      <option name=\"batchSize\">25</option>\n      <option name=\"batchTimeThresholdMs\">500</option>\n    </streamProcessor>\n  </extension>\n</component>\n",
          "xmlFileName": "/Users/arnaud/Nuxeo/distrib/nuxeo-server-tomcat-9.10/nxserver/config/stream-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.kafka.defaultConfig",
          "name": "org.nuxeo.kafka.defaultConfig",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.kafka.defaultConfig\">\n</component>\n",
          "xmlFileName": "/Users/arnaud/Nuxeo/distrib/nuxeo-server-tomcat-9.10/nxserver/config/kafka-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService--authenticators",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/sample.cas2.login/Contributions/sample.cas2.login--authenticators",
              "id": "sample.cas2.login--authenticators",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService",
                "name": "org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"authenticators\" target=\"org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService\">\n    <authenticationPlugin name=\"CAS2_AUTH\">\n      <needStartingURLSaving>true</needStartingURLSaving>\n      <loginModulePlugin>Trusting_LM</loginModulePlugin>\n      <parameters>\n        <parameter name=\"appURL\">http://localhost:8080/nuxeo/nxstartup.faces</parameter>\n        <parameter name=\"serviceLoginURL\">http://127.0.0.1:8080/cas/login</parameter>\n        <parameter name=\"logoutURL\">http://127.0.0.1:8080/cas/logout</parameter>\n        <parameter name=\"serviceValidateURL\">http://127.0.0.1:8080/cas/serviceValidate</parameter>\n        <parameter name=\"serviceKey\">service</parameter>\n        <parameter name=\"ticketKey\">ticket</parameter>\n      </parameters>\n    </authenticationPlugin>\n\n    <authenticationPlugin class=\"org.nuxeo.ecm.platform.ui.web.auth.cas2.AnonymousAuthenticatorForCAS2\" enabled=\"true\" name=\"ANONYMOUS_AUTH_FOR_CAS2\">\n      <loginModulePlugin>Trusting_LM</loginModulePlugin>\n    </authenticationPlugin>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/sample.cas2.login",
          "name": "sample.cas2.login",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<component name=\"sample.cas2.login\">\n  <require>org.nuxeo.ecm.platform.ui.web.auth.defaultConfig</require>\n  <require>org.nuxeo.ecm.platform.ui.web.auth.WebEngineConfig</require>\n  <require>org.nuxeo.ecm.platform.login.Cas2SSO</require>\n\n  <!-- Include CAS2 into authentication chain, disabled by default.\n     To edit it, copy the templates/cas2, customize it in your own template and include this one\n\n  <extension target=\"org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService\"\n      point=\"chain\">\n    <authenticationChain>\n      <plugins>\n        <plugin>BASIC_AUTH</plugin>\n        <plugin>CAS2_AUTH</plugin>\n        <plugin>ANONYMOUS_AUTH_FOR_CAS2</plugin>\n        <plugin>FORM_AUTH</plugin>\n        <plugin>WEBENGINE_FORM_AUTH</plugin>\n        <plugin>WEBSERVICES_AUTH</plugin>\n      </plugins>\n    </authenticationChain>\n  </extension>\n  -->\n\n  <!--  configure you CAS server parameters -->\n  <extension target=\"org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService\"\n    point=\"authenticators\">\n    <authenticationPlugin name=\"CAS2_AUTH\">\n      <needStartingURLSaving>true</needStartingURLSaving>\n      <loginModulePlugin>Trusting_LM</loginModulePlugin>\n      <parameters>\n        <parameter name=\"appURL\">http://localhost:8080/nuxeo/nxstartup.faces</parameter>\n        <parameter name=\"serviceLoginURL\">http://127.0.0.1:8080/cas/login</parameter>\n        <parameter name=\"logoutURL\">http://127.0.0.1:8080/cas/logout</parameter>\n        <parameter name=\"serviceValidateURL\">http://127.0.0.1:8080/cas/serviceValidate</parameter>\n        <parameter name=\"serviceKey\">service</parameter>\n        <parameter name=\"ticketKey\">ticket</parameter>\n      </parameters>\n    </authenticationPlugin>\n\n    <authenticationPlugin name=\"ANONYMOUS_AUTH_FOR_CAS2\" enabled=\"true\"\n        class=\"org.nuxeo.ecm.platform.ui.web.auth.cas2.AnonymousAuthenticatorForCAS2\">\n      <loginModulePlugin>Trusting_LM</loginModulePlugin>\n    </authenticationPlugin>\n  </extension>\n\n  <!-- enable an anonymous user\n\n  <extension target=\"org.nuxeo.ecm.platform.usermanager.UserService\"\n    point=\"userManager\">\n    <userManager>\n      <users>\n        <anonymousUser id=\"Anonymous\">\n          <property name=\"firstName\">Anonymous</property>\n          <property name=\"lastName\">User</property>\n        </anonymousUser>\n      </users>\n    </userManager>\n  </extension>\n  -->\n\n</component>\n",
          "xmlFileName": "/Users/arnaud/Nuxeo/distrib/nuxeo-server-tomcat-9.10/nxserver/config/cas2-login-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.runtime.services.resource.ResourceService",
          "documentation": "\n  An event notification service. Notifications are grouped by topics.\n  @author Bogdan Stefanescu (bs@nuxeo.com)\n  \n",
          "documentationHtml": "<p>\nAn event notification service. Notifications are grouped by topics.\n</p><p></p>",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.runtime.services.resource.ResourceService",
              "descriptors": [
                "org.nuxeo.runtime.services.resource.ResourceDescriptor"
              ],
              "documentation": "Enable clients to register resources contained in their bundle under a name\n",
              "documentationHtml": "<p>\nEnable clients to register resources contained in their bundle under a name</p>",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.services.resource.ResourceService/ExtensionPoints/org.nuxeo.runtime.services.resource.ResourceService--resources",
              "id": "org.nuxeo.runtime.services.resource.ResourceService--resources",
              "label": "resources (org.nuxeo.runtime.services.resource.ResourceService)",
              "name": "resources",
              "version": "9.10"
            }
          ],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.services.resource.ResourceService",
          "name": "org.nuxeo.runtime.services.resource.ResourceService",
          "requirements": [],
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.runtime.services.resource.ResourceService",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.services.resource.ResourceService/Services/org.nuxeo.runtime.services.resource.ResourceService",
              "id": "org.nuxeo.runtime.services.resource.ResourceService",
              "overriden": false,
              "version": "9.10"
            }
          ],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n\n<component name=\"org.nuxeo.runtime.services.resource.ResourceService\" version=\"1.0\">\n  <documentation>\n  An event notification service. Notifications are grouped by topics.\n  @author Bogdan Stefanescu (bs@nuxeo.com)\n  </documentation>\n\n  <implementation class=\"org.nuxeo.runtime.services.resource.ResourceService\"/>\n\n  <service>\n\t  <provide interface=\"org.nuxeo.runtime.services.resource.ResourceService\" />\n  </service>\n\n\n  <extension-point name=\"resources\">\n    <documentation>Enable clients to register resources contained in their bundle under a name</documentation>\n    <object class=\"org.nuxeo.runtime.services.resource.ResourceDescriptor\"/>\n  </extension-point>\n\n</component>\n\n",
          "xmlFileName": "/OSGI-INF/ResourceService.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.ec.notification.service.NotificationService--generalSettings",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.platform.ear.config.notification/Contributions/org.nuxeo.ecm.platform.ear.config.notification--generalSettings",
              "id": "org.nuxeo.ecm.platform.ear.config.notification--generalSettings",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.ec.notification.service.NotificationService",
                "name": "org.nuxeo.ecm.platform.ec.notification.service.NotificationService",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"generalSettings\" target=\"org.nuxeo.ecm.platform.ec.notification.service.NotificationService\">\n    <settings>\n      <serverPrefix>http://localhost:8080/nuxeo/</serverPrefix>\n      <eMailSubjectPrefix>[Nuxeo] </eMailSubjectPrefix>\n      <mailSessionJndiName>java:comp/env/Mail</mailSessionJndiName>\n    </settings>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.platform.ear.config.notification",
          "name": "org.nuxeo.ecm.platform.ear.config.notification",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.platform.ear.config.notification\">\n\n  <extension\n    target=\"org.nuxeo.ecm.platform.ec.notification.service.NotificationService\"\n    point=\"generalSettings\">\n    <settings>\n      <serverPrefix>http://localhost:8080/nuxeo/</serverPrefix>\n      <eMailSubjectPrefix>[Nuxeo] </eMailSubjectPrefix>\n      <mailSessionJndiName>java:comp/env/Mail</mailSessionJndiName>\n    </settings>\n  </extension>\n\n</component>\n",
          "xmlFileName": "/Users/arnaud/Nuxeo/distrib/nuxeo-server-tomcat-9.10/nxserver/config/notification-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.runtime.api.login.LoginComponent",
          "documentation": "\n  The login component is defining the login infrastructure\n  and extension points to add new security domains\n  @author Bogdan Stefanescu (bs@nuxeo.com)\n  \n",
          "documentationHtml": "<p>\nThe login component is defining the login infrastructure\nand extension points to add new security domains\n</p><p></p>",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.runtime.LoginComponent",
              "descriptors": [
                "org.nuxeo.runtime.api.login.SecurityDomain"
              ],
              "documentation": "\n    Enable clients to register new security domains in the application\n    <p/>\n\n    There are 2 predefined security domains that clients may define:\n    <ul>\n    <li/>The nuxeo-client-login -\n     <li/> The nuxeo-system-login - used to log in programmatically as the system user\n    </ul>\n\n    By default these domains are not defined. If you need a system login and/or a client login you should\n    contribute the domains defining the login modules to be used.\n    \n",
              "documentationHtml": "<p>\nEnable clients to register new security domains in the application\n</p><p>\nThere are 2 predefined security domains that clients may define:\n</p><ul><li>The nuxeo-client-login -\n</li><li> The nuxeo-system-login - used to log in programmatically as the system user\n</li></ul>\n<p>\nBy default these domains are not defined. If you need a system login and/or a client login you should\ncontribute the domains defining the login modules to be used.\n</p><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.LoginComponent/ExtensionPoints/org.nuxeo.runtime.LoginComponent--domains",
              "id": "org.nuxeo.runtime.LoginComponent--domains",
              "label": "domains (org.nuxeo.runtime.LoginComponent)",
              "name": "domains",
              "version": "9.10"
            }
          ],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.LoginComponent",
          "name": "org.nuxeo.runtime.LoginComponent",
          "requirements": [],
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.runtime.LoginComponent",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.LoginComponent/Services/org.nuxeo.runtime.api.login.LoginService",
              "id": "org.nuxeo.runtime.api.login.LoginService",
              "overriden": false,
              "version": "9.10"
            }
          ],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n\n<component name=\"org.nuxeo.runtime.LoginComponent\" version=\"1.0\">\n  <documentation>\n  The login component is defining the login infrastructure\n  and extension points to add new security domains\n  @author Bogdan Stefanescu (bs@nuxeo.com)\n  </documentation>\n\n  <implementation class=\"org.nuxeo.runtime.api.login.LoginComponent\"/>\n\n  <service>\n\t  <provide interface=\"org.nuxeo.runtime.api.login.LoginService\" />\n  </service>\n\n\n  <extension-point name=\"domains\">\n    <documentation>\n    Enable clients to register new security domains in the application\n    <p/>\n    There are 2 predefined security domains that clients may define:\n    <ul>\n     <li/>The nuxeo-client-login -\n     <li/> The nuxeo-system-login - used to log in programmatically as the system user\n    </ul>\n    By default these domains are not defined. If you need a system login and/or a client login you should\n    contribute the domains defining the login modules to be used.\n    </documentation>\n    <object class=\"org.nuxeo.runtime.api.login.SecurityDomain\"/>\n  </extension-point>\n\n</component>\n\n",
          "xmlFileName": "/OSGI-INF/LoginComponent.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.runtime.RuntimeComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.RuntimeComponent",
          "name": "org.nuxeo.runtime.RuntimeComponent",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.runtime.RuntimeComponent\" version=\"1.0\">\n  <implementation class=\"org.nuxeo.runtime.RuntimeComponent\"/>\n</component>\n",
          "xmlFileName": "/OSGI-INF/RuntimeComponent.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.runtime.model.persistence.ContributionPersistenceComponent",
          "documentation": "\n  Manage (install and persist) external contributions.\n  \n  The default contribution storage is implemented using the file system.\n  To change the storage implementation you must contribute to the extension point storage.\n  \n  Note that you should contribute only one storage implementation.\n  Contributing multiple implementation may lead to inconsistent states (changing the storage on the fly).\n  \n  @author Bogdan Stefanescu (bs@nuxeo.com)\n  \n",
          "documentationHtml": "<p>\nManage (install and persist) external contributions.\n</p><p>\nThe default contribution storage is implemented using the file system.\nTo change the storage implementation you must contribute to the extension point storage.\n</p><p>\nNote that you should contribute only one storage implementation.\nContributing multiple implementation may lead to inconsistent states (changing the storage on the fly).\n</p><p></p>",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.runtime.model.persistence",
              "descriptors": [
                "org.nuxeo.runtime.model.persistence.ContributionStorageDescriptor"
              ],
              "documentation": "\n    A class specifying the storage implementation to use. This class must implement the \n    org.nuxeo.runtime.model.persistence.ContributionStorage interface.\n    \n",
              "documentationHtml": "<p>\nA class specifying the storage implementation to use. This class must implement the\norg.nuxeo.runtime.model.persistence.ContributionStorage interface.\n</p><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.model.persistence/ExtensionPoints/org.nuxeo.runtime.model.persistence--listeners",
              "id": "org.nuxeo.runtime.model.persistence--listeners",
              "label": "listeners (org.nuxeo.runtime.model.persistence)",
              "name": "listeners",
              "version": "9.10"
            }
          ],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.model.persistence",
          "name": "org.nuxeo.runtime.model.persistence",
          "requirements": [],
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.runtime.model.persistence",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.model.persistence/Services/org.nuxeo.runtime.model.persistence.ContributionPersistenceManager",
              "id": "org.nuxeo.runtime.model.persistence.ContributionPersistenceManager",
              "overriden": false,
              "version": "9.10"
            }
          ],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n\n<component name=\"org.nuxeo.runtime.model.persistence\" version=\"1.0\">\n  <documentation>\n  Manage (install and persist) external contributions.\n  \n  The default contribution storage is implemented using the file system.\n  To change the storage implementation you must contribute to the extension point storage.\n  \n  Note that you should contribute only one storage implementation.\n  Contributing multiple implementation may lead to inconsistent states (changing the storage on the fly).\n  \n  @author Bogdan Stefanescu (bs@nuxeo.com)\n  </documentation>\n\n  <implementation class=\"org.nuxeo.runtime.model.persistence.ContributionPersistenceComponent\"/>\n\n  <service>\n\t  <provide interface=\"org.nuxeo.runtime.model.persistence.ContributionPersistenceManager\" />\n  </service>\n\n  <extension-point name=\"listeners\">\n    <documentation>\n    A class specifying the storage implementation to use. This class must implement the \n    org.nuxeo.runtime.model.persistence.ContributionStorage interface.\n    </documentation>\n    <object class=\"org.nuxeo.runtime.model.persistence.ContributionStorageDescriptor\"/>\n  </extension-point>\n\n\n</component>\n\n",
          "xmlFileName": "/OSGI-INF/ContributionPersistence.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.cache.CacheService--caches",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.drive.cache/Contributions/org.nuxeo.drive.cache--caches",
              "id": "org.nuxeo.drive.cache--caches",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.cache.CacheService",
                "name": "org.nuxeo.ecm.core.cache.CacheService",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"caches\" target=\"org.nuxeo.ecm.core.cache.CacheService\">\n\n    <cache name=\"driveSyncRoot\">\n      <option name=\"maxSize\">10000</option>\n      <option name=\"concurrencyLevel\">4</option>\n      <ttl>1</ttl>\n    </cache>\n\n    <cache name=\"driveCollectionSyncRootMember\">\n      <option name=\"maxSize\">10000</option>\n      <option name=\"concurrencyLevel\">4</option>\n      <ttl>1</ttl>\n    </cache>\n\n    <cache name=\"driveDescendantsScroll\">\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"maxSize\">100</option>\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.drive.cache",
          "name": "org.nuxeo.drive.cache",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.drive.cache\">\n\n  <extension target=\"org.nuxeo.ecm.core.cache.CacheService\" point=\"caches\">\n\n    <cache name=\"driveSyncRoot\">\n      <option name=\"maxSize\">10000</option>\n      <option name=\"concurrencyLevel\">4</option>\n      <ttl>1</ttl>\n    </cache>\n\n    <cache name=\"driveCollectionSyncRootMember\">\n      <option name=\"maxSize\">10000</option>\n      <option name=\"concurrencyLevel\">4</option>\n      <ttl>1</ttl>\n    </cache>\n\n    <cache name=\"driveDescendantsScroll\">\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"maxSize\">100</option>\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n  </extension>\n\n</component>\n\n",
          "xmlFileName": "/Users/arnaud/Nuxeo/distrib/nuxeo-server-tomcat-9.10/nxserver/config/nuxeo-drive-cache-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.directory.ldap.storage.users",
          "name": "org.nuxeo.ecm.directory.ldap.storage.users",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n\n<component name=\"org.nuxeo.ecm.directory.ldap.storage.users\">\n\n<!-- Using default configuration from default-directory-bundle.xml -->\n\n</component>\n\n\n",
          "xmlFileName": "/Users/arnaud/Nuxeo/distrib/nuxeo-server-tomcat-9.10/nxserver/config/default-ldap-users-directory-bundle.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.core.redis.config",
          "name": "org.nuxeo.ecm.core.redis.config",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.core.redis.config\">\n  <require>org.nuxeo.ecm.core.work.config</require>\n\n\n</component>\n",
          "xmlFileName": "/Users/arnaud/Nuxeo/distrib/nuxeo-server-tomcat-9.10/nxserver/config/redis-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.started",
          "name": "org.nuxeo.runtime.started",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "",
          "xmlFileName": "",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.scheduler.core.service.SchedulerRegistryService--schedule",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.platform.mail.scheduler.config/Contributions/org.nuxeo.ecm.platform.mail.scheduler.config--schedule",
              "id": "org.nuxeo.ecm.platform.mail.scheduler.config--schedule",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.scheduler.core.service.SchedulerRegistryService",
                "name": "org.nuxeo.ecm.platform.scheduler.core.service.SchedulerRegistryService",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"schedule\" target=\"org.nuxeo.ecm.platform.scheduler.core.service.SchedulerRegistryService\">\n\n    <schedule id=\"mailReceivedSchedule\">\n      <eventId>MailReceivedEvent</eventId>\n      <eventCategory>default</eventCategory>\n      <!-- every half hour of every day -->\n      <cronExpression>0 0/30 * * * ?</cronExpression>\n    </schedule>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.platform.mail.scheduler.config",
          "name": "org.nuxeo.ecm.platform.mail.scheduler.config",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.platform.mail.scheduler.config\">\n \n  <extension\n    target=\"org.nuxeo.ecm.platform.scheduler.core.service.SchedulerRegistryService\"\n    point=\"schedule\">\n\n    <schedule id=\"mailReceivedSchedule\">\n      <eventId>MailReceivedEvent</eventId>\n      <eventCategory>default</eventCategory>\n      <!-- every half hour of every day -->\n      <cronExpression>0 0/30 * * * ?</cronExpression>\n    </schedule>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/Users/arnaud/Nuxeo/distrib/nuxeo-server-tomcat-9.10/nxserver/config/nxmail-scheduler-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.storage.sql.RepositoryService--repository",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/default-repository-config/Contributions/default-repository-config--repository",
              "id": "default-repository-config--repository",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.storage.sql.RepositoryService",
                "name": "org.nuxeo.ecm.core.storage.sql.RepositoryService",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"repository\" target=\"org.nuxeo.ecm.core.storage.sql.RepositoryService\">\n    <repository label=\"label.default.repository\" name=\"default\">\n      <pool activeTimeoutMinutes=\"5\" blockingTimeoutMillis=\"100\" idleTimeoutMinutes=\"10\" maxPoolSize=\"20\" minPoolSize=\"0\"/>\n      <clustering delay=\"1000\" enabled=\"false\" id=\"\"/>\n      <clusterInvalidatorClass>org.nuxeo.ecm.core.storage.sql.VCSPubSubInvalidator</clusterInvalidatorClass>\n      <noDDL>false</noDDL>\n      <ddlMode>execute</ddlMode>\n      <aclOptimizations enabled=\"true\"/>\n      <pathOptimizations enabled=\"true\"/>\n      <idType>varchar</idType>\n      <changeTokenEnabled>true</changeTokenEnabled>\n      <indexing>\n        <!-- for H2 (Lucene Analyzer): -->\n        <fulltext analyzer=\"org.apache.lucene.analysis.standard.StandardAnalyzer\" disabled=\"false\" searchDisabled=\"false\">\n          <index name=\"default\">\n            <!-- all props implied -->\n          </index>\n          <index name=\"title\">\n            <field>dc:title</field>\n          </index>\n          <index name=\"description\">\n            <field>dc:description</field>\n          </index>\n        </fulltext>\n      </indexing>\n      <usersSeparator key=\",\"/>\n    </repository>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.blob.BlobManager--configuration",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/default-repository-config/Contributions/default-repository-config--configuration",
              "id": "default-repository-config--configuration",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.blob.BlobManager",
                "name": "org.nuxeo.ecm.core.blob.BlobManager",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"configuration\" target=\"org.nuxeo.ecm.core.blob.BlobManager\">\n    <blobprovider name=\"default\">\n      <class>org.nuxeo.ecm.core.blob.binary.DefaultBinaryManager</class>\n      <property name=\"path\"/>\n      <property name=\"key\"/>\n    </blobprovider>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/default-repository-config",
          "name": "default-repository-config",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"default-repository-config\">\n  <extension target=\"org.nuxeo.ecm.core.blob.BlobManager\" point=\"configuration\">\n    <blobprovider name=\"default\">\n      <class>org.nuxeo.ecm.core.blob.binary.DefaultBinaryManager</class>\n      <property name=\"path\"></property>\n      <property name=\"key\"></property>\n    </blobprovider>\n  </extension>\n  <extension target=\"org.nuxeo.ecm.core.storage.sql.RepositoryService\"\n    point=\"repository\">\n    <repository name=\"default\" label=\"label.default.repository\">\n      <pool minPoolSize=\"0\" maxPoolSize=\"20\"\n        blockingTimeoutMillis=\"100\"\n        idleTimeoutMinutes=\"10\"\n        activeTimeoutMinutes=\"5\" />\n      <clustering id=\"\" enabled=\"false\" delay=\"1000\" />\n      <clusterInvalidatorClass>org.nuxeo.ecm.core.storage.sql.VCSPubSubInvalidator</clusterInvalidatorClass>\n      <noDDL>false</noDDL>\n      <ddlMode>execute</ddlMode>\n      <aclOptimizations enabled=\"true\"/>\n      <pathOptimizations enabled=\"true\"/>\n      <idType>varchar</idType>\n      <changeTokenEnabled>true</changeTokenEnabled>\n      <indexing>\n        <!-- for H2 (Lucene Analyzer): -->\n        <fulltext disabled=\"false\" searchDisabled=\"false\" analyzer=\"org.apache.lucene.analysis.standard.StandardAnalyzer\">\n          <index name=\"default\">\n            <!-- all props implied -->\n          </index>\n          <index name=\"title\">\n            <field>dc:title</field>\n          </index>\n          <index name=\"description\">\n            <field>dc:description</field>\n          </index>\n        </fulltext>\n      </indexing>\n      <usersSeparator key=\",\" />\n    </repository>\n  </extension>\n</component>\n",
          "xmlFileName": "/Users/arnaud/Nuxeo/distrib/nuxeo-server-tomcat-9.10/nxserver/config/default-repository-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.runtime.services.event.EventService",
          "documentation": "\n  An event notification service. Notifications are grouped by topics.\n  @author Bogdan Stefanescu (bs@nuxeo.com)\n  \n",
          "documentationHtml": "<p>\nAn event notification service. Notifications are grouped by topics.\n</p><p></p>",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.runtime.EventService",
              "descriptors": [
                "org.nuxeo.runtime.services.event.ListenerDescriptor"
              ],
              "documentation": "Enable clients to register event listeners to one or more topics\n",
              "documentationHtml": "<p>\nEnable clients to register event listeners to one or more topics</p>",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.EventService/ExtensionPoints/org.nuxeo.runtime.EventService--listeners",
              "id": "org.nuxeo.runtime.EventService--listeners",
              "label": "listeners (org.nuxeo.runtime.EventService)",
              "name": "listeners",
              "version": "9.10"
            }
          ],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.EventService",
          "name": "org.nuxeo.runtime.EventService",
          "requirements": [],
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.runtime.EventService",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.EventService/Services/org.nuxeo.runtime.services.event.EventService",
              "id": "org.nuxeo.runtime.services.event.EventService",
              "overriden": false,
              "version": "9.10"
            }
          ],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n\n<component name=\"org.nuxeo.runtime.EventService\" version=\"1.0\">\n  <documentation>\n  An event notification service. Notifications are grouped by topics.\n  @author Bogdan Stefanescu (bs@nuxeo.com)\n  </documentation>\n\n  <implementation class=\"org.nuxeo.runtime.services.event.EventService\"/>\n\n  <service>\n\t  <provide interface=\"org.nuxeo.runtime.services.event.EventService\" />\n  </service>\n\n\n  <extension-point name=\"listeners\">\n    <documentation>Enable clients to register event listeners to one or more topics</documentation>\n    <object class=\"org.nuxeo.runtime.services.event.ListenerDescriptor\"/>\n  </extension-point>\n\n</component>\n\n",
          "xmlFileName": "/OSGI-INF/EventService.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.runtime.services.config.ConfigurationServiceImpl",
          "documentation": "\n    The ConfigurationService service holds application configuration properties that are used at runtime. This\n    service should not include properties that are needed at startup.\n\n    @since 7.4\n  \n",
          "documentationHtml": "<p>\nThe ConfigurationService service holds application configuration properties that are used at runtime. This\nservice should not include properties that are needed at startup.\n</p><p>\n&#64;since 7.4\n</p><p></p>",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.runtime.ConfigurationService",
              "descriptors": [
                "org.nuxeo.runtime.services.config.ConfigurationPropertyDescriptor"
              ],
              "documentation": "\n      The configuration extension point allows to define named properties.\n\n      Example:\n\n      <code>\n    <property name=\"nuxeo.jsf.enableDoubleClickShield\">true</property>\n    <property name=\"nuxeo.jsf.useAjaxTabs\">false</property>\n</code>\n",
              "documentationHtml": "<p>\nThe configuration extension point allows to define named properties.\n</p><p>\nExample:\n</p><p>\n</p><pre><code>    &lt;property name&#61;&#34;nuxeo.jsf.enableDoubleClickShield&#34;&gt;true&lt;/property&gt;\n    &lt;property name&#61;&#34;nuxeo.jsf.useAjaxTabs&#34;&gt;false&lt;/property&gt;\n</code></pre><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.ConfigurationService/ExtensionPoints/org.nuxeo.runtime.ConfigurationService--configuration",
              "id": "org.nuxeo.runtime.ConfigurationService--configuration",
              "label": "configuration (org.nuxeo.runtime.ConfigurationService)",
              "name": "configuration",
              "version": "9.10"
            }
          ],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.ConfigurationService",
          "name": "org.nuxeo.runtime.ConfigurationService",
          "requirements": [],
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.runtime.ConfigurationService",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.ConfigurationService/Services/org.nuxeo.runtime.services.config.ConfigurationService",
              "id": "org.nuxeo.runtime.services.config.ConfigurationService",
              "overriden": false,
              "version": "9.10"
            }
          ],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.runtime.ConfigurationService\">\n\n  <documentation>\n    The ConfigurationService service holds application configuration properties that are used at runtime. This\n    service should not include properties that are needed at startup.\n\n    @since 7.4\n  </documentation>\n\n  <implementation\n    class=\"org.nuxeo.runtime.services.config.ConfigurationServiceImpl\" />\n\n  <service>\n    <provide interface=\"org.nuxeo.runtime.services.config.ConfigurationService\" />\n  </service>\n\n  <extension-point name=\"configuration\">\n    <documentation>\n      The configuration extension point allows to define named properties.\n\n      Example:\n\n      <code>\n        <property name=\"nuxeo.jsf.enableDoubleClickShield\">true</property>\n        <property name=\"nuxeo.jsf.useAjaxTabs\">false</property>\n      </code>\n    </documentation>\n    <object class=\"org.nuxeo.runtime.services.config.ConfigurationPropertyDescriptor\" />\n  </extension-point>\n\n</component>",
          "xmlFileName": "/OSGI-INF/ConfigurationService.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.shibboleth.service.ShibbolethAuthenticationService--config",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/sample.shibboleth.config/Contributions/sample.shibboleth.config--config",
              "id": "sample.shibboleth.config--config",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.shibboleth.service.ShibbolethAuthenticationService",
                "name": "org.nuxeo.ecm.platform.shibboleth.service.ShibbolethAuthenticationService",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"config\" target=\"org.nuxeo.ecm.platform.shibboleth.service.ShibbolethAuthenticationService\">\n    <config>\n      <uidHeaders>\n        <default>uid</default>\n      </uidHeaders>\n\n      <loginURL>https://host/Shibboleth.sso/WAYF</loginURL>\n      <logoutURL>https://host/Shibboleth.sso/logout</logoutURL>\n\n      <!-- Add others fieldMappings if needed -->\n      <fieldMapping header=\"uid\">username</fieldMapping>\n      <fieldMapping header=\"mail\">email</fieldMapping>\n    </config>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/sample.shibboleth.config",
          "name": "sample.shibboleth.config",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<component name=\"sample.shibboleth.config\">\n\n  <require>org.nuxeo.ecm.platform.usermanager.UserManagerImpl</require>\n\n  <!--\n  Disabled by default to lets administrator set their own AuthentificationChain\n  To edit it, go to templates/shibboleth/config/shibboleth-login-config.xml\n\n  <require>org.nuxeo.ecm.platform.ui.web.auth.WebEngineConfig</require>\n\n  <extension target=\"org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService\"\n    point=\"chain\">\n    <authenticationChain>\n      <plugins>\n        <plugin>BASIC_AUTH</plugin>\n        <plugin>SHIB_AUTH</plugin>\n        <plugin>FORM_AUTH</plugin>\n        <plugin>WEBENGINE_FORM_AUTH</plugin>\n        <plugin>ANONYMOUS_AUTH</plugin>\n        <plugin>WEBSERVICES_AUTH</plugin>\n      </plugins>\n    </authenticationChain>\n  </extension>\n  -->\n\n  <extension target=\"org.nuxeo.ecm.platform.shibboleth.service.ShibbolethAuthenticationService\"\n    point=\"config\">\n    <config>\n      <uidHeaders>\n        <default>uid</default>\n      </uidHeaders>\n\n      <loginURL>https://host/Shibboleth.sso/WAYF</loginURL>\n      <logoutURL>https://host/Shibboleth.sso/logout</logoutURL>\n\n      <!-- Add others fieldMappings if needed -->\n      <fieldMapping header=\"uid\">username</fieldMapping>\n      <fieldMapping header=\"mail\">email</fieldMapping>\n    </config>\n  </extension>\n</component>\n",
          "xmlFileName": "/Users/arnaud/Nuxeo/distrib/nuxeo-server-tomcat-9.10/nxserver/config/shibboleth-login-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.directory.GenericDirectory--directories",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.platform.digestauth.config/Contributions/org.nuxeo.ecm.platform.digestauth.config--directories",
              "id": "org.nuxeo.ecm.platform.digestauth.config--directories",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.directory.GenericDirectory",
                "name": "org.nuxeo.ecm.directory.GenericDirectory",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"directories\" target=\"org.nuxeo.ecm.directory.GenericDirectory\">\n\n    <directory extends=\"template-directory\" name=\"digestauth\">\n      <schema>digestauth</schema>\n      <idField>username</idField>\n      <passwordField>password</passwordField>\n      <types>\n        <type>system</type>\n      </types>\n    </directory>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.usermanager.UserService--userManager",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.platform.digestauth.config/Contributions/org.nuxeo.ecm.platform.digestauth.config--userManager",
              "id": "org.nuxeo.ecm.platform.digestauth.config--userManager",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.usermanager.UserService",
                "name": "org.nuxeo.ecm.platform.usermanager.UserService",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"userManager\" target=\"org.nuxeo.ecm.platform.usermanager.UserService\">\n    <userManager>\n      <digestAuthDirectory>digestauth</digestAuthDirectory>\n      <digestAuthRealm>NUXEO</digestAuthRealm>\n      <userCacheName>default-cache</userCacheName>\n    </userManager>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.platform.digestauth.config",
          "name": "org.nuxeo.ecm.platform.digestauth.config",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.platform.digestauth.config\">\n\n  <extension target=\"org.nuxeo.ecm.directory.GenericDirectory\" point=\"directories\">\n\n    <directory name=\"digestauth\" extends=\"template-directory\">\n      <schema>digestauth</schema>\n      <idField>username</idField>\n      <passwordField>password</passwordField>\n      <types>\n        <type>system</type>\n      </types>\n    </directory>\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.usermanager.UserService\" point=\"userManager\">\n    <userManager>\n      <digestAuthDirectory>digestauth</digestAuthDirectory>\n      <digestAuthRealm>NUXEO</digestAuthRealm>\n      <userCacheName>default-cache</userCacheName>\n    </userManager>\n  </extension>\n\n</component>\n",
          "xmlFileName": "/Users/arnaud/Nuxeo/distrib/nuxeo-server-tomcat-9.10/nxserver/config/login-digest-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.runtime.management.ServerLocator--locators",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.management.ServerLocatorContrib/Contributions/org.nuxeo.runtime.management.ServerLocatorContrib--locators",
              "id": "org.nuxeo.runtime.management.ServerLocatorContrib--locators",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.runtime.management.ServerLocator",
                "name": "org.nuxeo.runtime.management.ServerLocator",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"locators\" target=\"org.nuxeo.runtime.management.ServerLocator\">\n    <locator default=\"true\" domain=\"jboss\"/>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.management.ServerLocatorContrib",
          "name": "org.nuxeo.runtime.management.ServerLocatorContrib",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.runtime.management.ServerLocatorContrib\">\n\n  <!-- nuxeo beans are published by default in the platform mbean server,\n       uncomment one of the following configuration if you want to use\n       another place-->\n\n  <!-- use jboss mbean server as default  -->\n  <extension target=\"org.nuxeo.runtime.management.ServerLocator\"\n    point=\"locators\">\n    <locator domain=\"jboss\" default=\"true\" />\n  </extension>\n\n  <!-- use a dedicated mbean server bound \n       server URL can be found in the server log at line \"Started a mbean server : ...\" \n  <extension target=\"org.nuxeo.runtime.management.ServerLocator\"\n    point=\"locators\">\n    <locator domain=\"org.nuxeo\" exist=\"false\" rmiPort=\"2100\"/>\n  </extension> -->\n  \n</component>\n",
          "xmlFileName": "/Users/arnaud/Nuxeo/distrib/nuxeo-server-tomcat-9.10/nxserver/config/management-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.directory.sql.SQLDirectoryFactory--directories",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.template.directory.sql/Contributions/org.nuxeo.template.directory.sql--directories",
              "id": "org.nuxeo.template.directory.sql--directories",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.directory.sql.SQLDirectoryFactory",
                "name": "org.nuxeo.ecm.directory.sql.SQLDirectoryFactory",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"directories\" target=\"org.nuxeo.ecm.directory.sql.SQLDirectoryFactory\">\n\n    <directory name=\"template-directory\" template=\"true\">\n      <dataSource>java:/nxsqldirectory</dataSource>\n      <createTablePolicy>on_missing_columns</createTablePolicy>\n    </directory>\n\n    <directory extends=\"template-directory\" name=\"template-user\" template=\"true\">\n      <table>users</table>\n      <computeMultiTenantId>false</computeMultiTenantId>\n    </directory>\n\n    <directory extends=\"template-directory\" name=\"template-group\" template=\"true\">\n      <table>groups</table>\n    </directory>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.template.directory.sql",
          "name": "org.nuxeo.template.directory.sql",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.template.directory.sql\">\n\n  <require>org.nuxeo.ecm.directories</require>\n  <extension target=\"org.nuxeo.ecm.directory.sql.SQLDirectoryFactory\" point=\"directories\">\n\n    <directory name=\"template-directory\" template=\"true\">\n      <dataSource>java:/nxsqldirectory</dataSource>\n      <createTablePolicy>on_missing_columns</createTablePolicy>\n    </directory>\n\n    <directory name=\"template-user\" template=\"true\" extends=\"template-directory\">\n      <table>users</table>\n      <computeMultiTenantId>false</computeMultiTenantId>\n    </directory>\n\n    <directory name=\"template-group\" template=\"true\" extends=\"template-directory\">\n      <table>groups</table>\n    </directory>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/Users/arnaud/Nuxeo/distrib/nuxeo-server-tomcat-9.10/nxserver/config/sql-template-directory-config.xml",
          "xmlPureComponent": true
        }
      ],
      "fileName": "nuxeo-runtime-9.10.jar",
      "groupId": "org.nuxeo.runtime",
      "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime",
      "id": "org.nuxeo.runtime",
      "location": "",
      "manifest": "Manifest-Version: 1.0\r\nArchiver-Version: Plexus Archiver\r\nCreated-By: 1.6.0_20 (Sun Microsystems Inc.)\r\nBuilt-By: jenkins\r\nBuild-Jdk: 1.8.0_77\r\nBundle-ManifestVersion: 2\r\nBundle-Version: 5.4.2.qualifier\r\nExport-Package: org.nuxeo.runtime,org.nuxeo.runtime.api,org.nuxeo.runt\r\n ime.api.login,org.nuxeo.runtime.deploy,org.nuxeo.runtime.expression,o\r\n rg.nuxeo.runtime.model,org.nuxeo.runtime.model.impl,org.nuxeo.runtime\r\n .model.persistence,org.nuxeo.runtime.model.persistence.fs,org.nuxeo.r\r\n untime.osgi,org.nuxeo.runtime.service,org.nuxeo.runtime.service.sampl\r\n e,org.nuxeo.runtime.services.adapter,org.nuxeo.runtime.services.adapt\r\n er.extension,org.nuxeo.runtime.services.deployment,org.nuxeo.runtime.\r\n services.event,org.nuxeo.runtime.services.resource,org.nuxeo.runtime.\r\n services.streaming,org.nuxeo.runtime.transaction,org.nuxeo.runtime.util\r\nPrivate-Package: .\r\nBundle-ActivationPolicy: lazy\r\nBundle-ClassPath: .\r\nBundle-Category: runtime\r\nBundle-Name: Nuxeo Eclipse Runtime\r\nBundle-RequiredExecutionEnvironment: JavaSE-1.6\r\nEclipse-BuddyPolicy: registered\r\nNuxeo-Component: OSGI-INF/EventService.xml,OSGI-INF/RuntimeComponent.x\r\n ml,OSGI-INF/ResourceService.xml,OSGI-INF/LoginComponent.xml,OSGI-INF/\r\n ContributionPersistence.xml,OSGI-INF/FileEventTracker.xml,OSGI-INF/Fi\r\n leEventTrackerConfig.xml,OSGI-INF/ConfigurationService.xml\r\nBundle-Activator: org.nuxeo.runtime.osgi.OSGiRuntimeActivator\r\nImport-Package: javax.management,javax.naming,javax.naming.spi,javax.s\r\n ecurity.auth,javax.security.auth.callback,javax.security.auth.login,j\r\n avax.security.auth.spi,javax.sql,javax.transaction;version=\"1.1\",java\r\n x.xml.parsers,org.apache.commons.io,org.apache.commons.jexl;resolutio\r\n n:=optional,org.apache.commons.logging,org.nuxeo.common,org.nuxeo.com\r\n mon.collections,org.nuxeo.common.logging,org.nuxeo.common.utils,org.n\r\n uxeo.common.xmap,org.nuxeo.common.xmap.annotation,org.osgi.framework,\r\n org.osgi.service.packageadmin,org.w3c.dom,org.w3c.dom.ranges\r\nBundle-SymbolicName: org.nuxeo.runtime;singleton:=true\r\n\r\n",
      "packages": [],
      "requirements": [],
      "version": "9.10"
    }
  ],
  "creationDate": 1664793304638,
  "key": "Nuxeo Platform LTS 2017-9.10",
  "name": "Nuxeo Platform LTS 2017",
  "operations": [],
  "packages": [],
  "pluginSnapshots": {},
  "releaseDate": 1515474000000,
  "version": "9.10"
}